// 1 -> 2 -> 4

// 1 -> 3 -> 4


var mergeTwoLists = function(l1, l2) {
  // 定义头结点，确保链表能被访问
  let head = new ListNode()

  let cur = head
  // l1的节点值更小
  while (l1 && l2) {
    if (l1.val <= l2.val) {
      // 串其l1的节点
      cur.next = l1
      // l1的指针向前移一步
      l1 = l1.next
    } else {
      cur.next = l2
      l2 = l2.next
    }
    // 串上一个节点之后，也要往前走一步
    cur = cur.next
  }
  
  // 处理链表不等长
  cur.next = l1 !== null ? l1 : l2

  return head.next
};